package org.dei.perla.sys.device.channel.frame.header;

import org.dei.perla.sys.device.channel.frame.FrameConfiguration;

/**
 * Questa classe rappresenta un oggetto per ricevere header di pacchetti AddressFull.
 *
 */
public abstract class FrameHeaderReceiver {
	
	/**
	 * Gestore degli eventi di ricezione
	 */
	protected FrameHeaderReceiverEvents pFrameAddressEvents;
	
	/**
	 * Configurazione del pacchetto
	 */
	protected FrameConfiguration pFrameConfiguration;
		
	/**
	 * Inizializza il ricevitore degli header
	 * @param parFrameAddressEvents Un gestore degli eventi di ricezione
	 */
	public void start(FrameHeaderReceiverEvents parFrameAddressEvents) {
		this.pFrameAddressEvents = parFrameAddressEvents;
	}
	
	/**
	 * Effettua il reset del ricevitore
	 *
	 */
	public abstract void reset();
	
	/**
	 * Riceve un byte
	 * @param parReceivedByte Byte ricevuto
	 */
	public abstract void receiveByte(byte parReceivedByte);
	
}
